package logic
{
	import flash.events.Event;
	
	import mx.core.IMXMLObject;
	import mx.core.UIComponent;
	import mx.events.FlexEvent;
	
	public class Logic implements IMXMLObject
	{
	    /** MXMLファイルを参照するクラス */
    	private var _document:ToDoList;
    	/** MXMLファイル上で指定されたid */
    	private var _id:String;


		public function Logic() {
			trace("Logic()");
		}
		
		/**
 	 	* MEMO:
	 	 *  この操作は，MXMLが自身を生成し，全ての属性を設定した後に呼び出されます． 
 		 *  IMXMLObjectインタフェイスが定義するメソッドです．
		 */
	    public function initialized(document:Object, id:String):void {
    	    _document = document as ToDoList;
        	_id = id;
			trace("initialized(document=" + document + ",id=" + id +")");
        
	        _document.addEventListener(FlexEvent.CREATION_COMPLETE,
	        	onCreationCompleteHandler, false, 0, true);
    	}
    
    
    /**
     * 初期化処理
     * 
     * @param event FlexEvent
     */
	    protected function onCreationCompleteHandler(event:FlexEvent):void {
    	    trace("Logic:onCreationCompleteHandler");
	    }


    /**
     * document を取得する
     * 
     * @return document
     */
    	public final function get document():UIComponent {
        	return _document;
	    }

    /**
     * id を取得する
     * 
     * @return id
     */
    	public final function get id():String {
        	return _id;
	    }
		
		public function onButtonClick(event:Event):void {
			trace("onButtonClick(event=" + event);
			trace(this._document.task.text);
			
			this._document.taskListCollection.addItem(
				<task>
					{this._document.task.text}
				</task>);
			
			trace(this._document.taskListCollection.toXMLString());
		}

	}
}